package modelo.armas;

import modelo.moviles.exceptions.ArmaSinBalas;
import modelo.moviles.balas.Bala;
import modelo.moviles.balas.BalaTorpedoRastreador;
import modelo.moviles.naves.Algo42;
import modelo.*;

public class TorpedoRastreador extends Arma {

	private Algo42 objetivo;

	public TorpedoRastreador(Nivel nuevoNivel){

		super(nuevoNivel);			
		
		/* "Los cargadores de BalaTorpedoRastreador solo pueden almacenar hasta 5 balas" */
		this.setCargador(5);
	}
	
	public Bala disparar() throws ArmaSinBalas{
		if (!this.puedeDisparar()){
			throw (new ArmaSinBalas());
		}
	
		cargador = cargador - 1;
		BalaTorpedoRastreador bala = new BalaTorpedoRastreador(this.getNivel());
		bala.setObjetivo(this.getObjetivo());
	return bala;
	}

	public Algo42 getObjetivo() {
		return objetivo;
	}

	public void setObjetivo(Algo42 objetivo) {
		this.objetivo = objetivo;
	}

}
